IView2 Interface
- Enable
 
- GetEnableFlag
 
- Reset
 
- ResetEx
 
- GetViewType
 
- SetViewType
 
- AddExternalModel
 
- ShowHideAll
 
- GoTo
 
- GetGraphicItem
 
 
IView2 interface allows enabling or disabling functionality related to the
viewing properties of the relevant display window. Currently it controls
disabling and enabling of Viewing mouse transformations ( Pan/Rotate/Zoom) and
enabling/disabling of highlighting of the current
object  in "Modify"
mode (See IViewModal). By default all types of viewing transformations are
enabled.  
IView2 can be queried from IView interface 
See also Concepts of 3D Graphics, Modal sample, 
Interface List 
 
HRESULT Enable( int nFlags, VARIANT_BOOL bEnable )  
Parameters 
nFlags -[in] flags indicating the 
    functionality to enable or disable. See remarks.  
  bEnable -  [in] . The functionality will be enabled
(default) if this parameter is true and disabled otherwise.  
 
Returns  
  - S_OK in case of 
  success.
  
Remarks 
nFlags parameter can be one of  
EEnableBit members: EEnableBit.eEnablePan ( value=1 ), EEnableBit.eEnableZoom
(value = 2), EEnableBit.eEnableRotate (value=4), EEnableBit.eEnableHighLightSurface (value=512), EEnableBit.eEnableTransparency
(value=1024) or OR-ed combination of them. .
 
Using this method with the first three values of the nFlags 
allows disabling of Pan/Zoom/Rotate viewing manipulations
performed on mouse movements. EEnableBit.eEnableHighLightSurface flags enables or disables highlighting
the current object in "Modify"
mode (See IViewModal and IModel2)). 
 
EEnableBit.eEnableTransparency (value=1024) enables rendering of objects with 
    alpha material color component < 1 as transparent 
EEnableBit.eEnablePerspectiveProjection (value=2048) changes view to prospective mode, 
where objects, which are further from the viewer appear smaller on the screen. 
Prospective mode is recommended for viewing only and is not fully supported in 
this release. Contact us for more information. 
EEnableBEEnableBit.eEnableNormals (value=4096)  turns on / off visibility on normals 
        in the 3D view 
 
HRESULT GetEnableFlag( int nFlag, VARIANT_BOOL *pbEnable )      
Parameters 
nFlag - [in] flag to retrieve.  
pbEnable      - [out] pointer to a Boolean variable,
which will be set to true if the flag is enabled and false otherwise.  
Return Values  
  - S_OK in case of 
  success. 
  
- Remarks
 
-  
- This method returns the current value of the flag. See remarks for the
  previous method.
 
  
 
HRESULT Reset(VARIANT_BOOL redraw)      
Parameters 
 redraw - [in] if false the
control's window will not be redrawn.   
Return Values  
  S_OK in case of success. 
Remarks 
This method resets zoom of the view to fit the model into the window and
  sets point of view to default. The method can be used to programmatically
  restore initial zoom and orientation after extensive viewing transformations.
  It is also useful to fit model into the view when size of the model has been
  changed programmatically.  redraw parameter can be used to avoid
flickering before some programmatic manipulations of the view.
 
 
HRESULT ResetEx(EViewReset
action) 
Parameters 
action - [in] Type of reset to 
perform 
Remarks 
When action is 
eViewResetAll the result is equivalent to call Reset(false) of the previous 
method. 
When action is 
eViewResetVolume the model will be refit into the window to be fully visible 
as if on the start of the application, but its current orientation will be 
preserved. 
In more technical terms it means that only 
Viewing Volume will be modified to center it around the model. Position and 
orientation of Global and Eye frames will remain 
unchanged. 
  
 
HRESULT GetViewType(int *type) 
Parameters 
type - [out, retval] Current type of 
the view. Possible return values are enumerated in 
EViewType 
enumeration 
Remarks 
Returns the current type of the view. Possible types are enumerated in 
EViewType enumeration 
 
HRESULT SetViewType(int type) 
Parameters 
type - [in] Type of view to 
activate. Possible types are enumerated in 
EViewType 
enumeration 
Remarks 
  
This method is not supported in this version 
 
HRESULT AddExternalModel(IModel *model) 
Parameters 
model - [in] 
IModel implemented by an external model. See remarks. 
Remarks 
The method attaches model as an 
external model to the 
component which implements this interface. When there is one or more external 
models attached to the component where this IView2 was queried from on every
UpdateSurface call all objects of 
all external models are replicated and the new copies are added to the main 
model of the component, which is the model returned by
GetModel() method. The replicas added by 
the pervious call to UpdateSurface 
are removed before the operation. 
The above mechanism allows incorporating model loaded / created independently of 
the current component or creating multiple views of the same model probably with 
different display type or point of view. 
Note that objects of the external models are. added "By Value", which means that 
any modifications made to the external model appear in this component only after 
an UpdateSurface call, not 
automatically. 
  
 
HRESULT ShowHideAll(VARIANT_BOOL show) 
  Remarks 
Shows or hides all items in the model 
 
HRESULT GoTo(IItem* iObject) 
Remarks 
  
Performs pan and zoom as necessary to focus on the object ( more precisely to fit 
    the object in the window with default margins). Orientation of the view remains 
    the same 
 
   
HRESULT GetGraphicItem(IObject_KC* object, IGraphicItem** item) 
Creates a graphic item for the object and attaches this view to it 
      
                 |